package cc.rengu.igas.share.facade;

import cc.rengu.igas.share.facade.request.UpacPayResultNoticeRequest;
import cc.rengu.igas.share.facade.request.UpacRefundResultNoticeRequest;
import cc.rengu.igas.share.facade.request.UpacSignResultNoticeRequest;
import cc.rengu.igas.share.facade.response.UpacSignResultNoticeResponse;
import cc.rengu.igas.share.facade.response.UpacPayResultNoticeResponse;
import cc.rengu.igas.share.facade.response.UpacRefundResultNoticeResponse;
import cc.rengu.igas.share.facade.result.Result;

/**
 * 银联全渠道业务统一处理服务
 * Created by wangcheng on 2021/9/29 13:48
 */
public interface UpacUnifiedService {
    /**
     * 银联全渠道支付结果通知
     *
     * @param request 请求对象
     * @return 通知结果
     * @throws Exception 异常
     */
    Result<UpacPayResultNoticeResponse> payResultNotice(UpacPayResultNoticeRequest request) throws Exception;

    /**
     * 银联全渠道退款结果通知
     *
     * @param request 请求对象
     * @return 通知结果
     * @throws Exception 异常
     */
    Result<UpacRefundResultNoticeResponse> refundResultNotice(UpacRefundResultNoticeRequest request) throws Exception;

    /**
     * 银联全渠道签约开通结果通知
     *
     * @param request 请求对象
     * @return 通知结果
     * @throws Exception 异常
     */
    Result<UpacSignResultNoticeResponse> payOpenNotice(UpacSignResultNoticeRequest request) throws Exception;
}
